package io;

import java.io.File;
import java.io.IOException;
import java.util.Scanner;

public class ApplicationExampleDemo {
    public static void main(String[] args) throws IOException {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入要搜索的路径:");
        String rootPath=sc.next();
        File rootFile=new File(rootPath);
        if(!rootFile.isDirectory()) {
            System.out.println("输入的路径有误!");
            return;
        }
        System.out.println("请输入要删除的文件名字的关键字:");
        String key=sc.next();
        //进行查找并尝试删除
        scan(rootFile,key);
    }
    private static void scan(File curFile,String key) throws IOException {
        if(!curFile.isDirectory()) {
            return;
        }
        File[] files=curFile.listFiles();
        if(files==null || files.length==0) {
            return;
        }
        //开始遍历
        for(File f:files) {
            if(f.isFile()) {
                //普通文件,执行删除
                doDelete(f,key);
            } else {
                //是目录,继续递归
                scan(f,key);
            }
        }
    }
    private static void doDelete(File f,String key) throws IOException {
        if(!f.getName().contains(key)) {
            //文件名不包含指定关键字,不删除
            return;
        }
        //询问用户是否要进行删除
        System.out.println("查找到一个文件为:"+f.getCanonicalPath()+",是否要删除? Y/N");
        Scanner sc=new Scanner(System.in);
        String choice=sc.next();
        if(choice.equals("Y") || choice.equals("y")) {
            f.delete();
        }
    }
}
